Eli Zaretskii [Mon, 5 Sep 2022 12:17:49 +0000 (15:17 +0300)]
Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs
Eli Zaretskii [Mon, 5 Sep 2022 12:17:03 +0000 (15:17 +0300)]
; * doc/emacs/mark.texi (Mark): Improve wording.
Stefan Kangas [Mon, 5 Sep 2022 04:30:32 +0000 (06:30 +0200)]
Merge from origin/emacs-28
5713c730f2 Update to Org 9.5.5
aad38d6010 * lisp/emacs-lisp/comp.el (comp-run-async-workers): Fail m...
Po Lu [Mon, 5 Sep 2022 01:51:05 +0000 (09:51 +0800)]
Fix crash while converting empty vector to X data
* src/xselect.c (lisp_data_to_selection_data): Assume an empty
vector represents INTEGER data, instead of blindly trying to
aref it's first element.
Jim Porter [Sun, 28 Aug 2022 18:53:07 +0000 (11:53 -0700)]
Let external Eshell processes send stdout and stderr to different places
* lisp/eshell/esh-proc.el (eshell-put-process-properties): Pass INDEX.
(eshell-gather-process-output): Create a pipe process for stderr when
stderr goes somewhere different than stdout.
(eshell-insertion-filter, eshell-sentinel): Consult
':eshell-handle-index' property.
* test/lisp/eshell/esh-proc-tests.el
(esh-proc-test/output/stdout-to-buffer)
(esh-proc-test/output/stderr-to-buffer)
(esh-proc-test/exit-status/with-stderr-pipe): New tests (bug#21605).
Jim Porter [Sun, 28 Aug 2022 18:19:30 +0000 (11:19 -0700)]
Put Eshell's bookkeeping data for external processes on the process object
This allows tracking this information for process objects not recorded
in 'eshell-process-list', which will be useful for pipe processes for
stderr output.
* lisp/eshell/esh-proc.el (eshell-process-list): Add docstring.
(eshell-record-process-object): Only record the process object and
whether it's a subjob.
(eshell-remove-process-entry): Adapt to changes in
'eshell-record-process-object'.
(eshell-record-process-properties): New function...
(eshell-gather-process-output): ... call it.
(eshell-insertion-filter, eshell-sentinel): Use new process
properties, don't require process to be in 'eshell-process-list'.
* test/lisp/eshell/esh-proc-tests.el (esh-proc-test--output-cmd): New
variable.
(esh-proc-test--detect-pty-cmd): Add docstring.
(esh-proc-test/output/to-screen)
(esh-proc-test/output/stdout-and-stderr-to-buffer)
(esh-proc-test/exit-status/success, esh-proc-test/exit-status/failure)
(esh-proc-test/kill-process/foreground-only): New tests.
(esh-proc-test/kill-background-process): Rename to...
(esh-proc-test/kill-process/background-prompt): ... this, and use
'eshell-wait-for-subprocess' instead of 'sit-for'.
Jim Porter [Sat, 9 Jul 2022 23:26:55 +0000 (16:26 -0700)]
Add support for more kinds of redirect operators in Eshell
* lisp/eshell/esh-arg.el: Require cl-lib.
(eshell-finish-arg): Allow passing multiple ARGUMENTS.
(eshell-quote-argument): Handle the case when 'eshell-finish-arg' was
passed multiple arguments.
* lisp/eshell/esh-cmd.el (eshell-do-pipelines)
(eshell-do-pipelines-synchronously): Only set stdout output handle.
* lisp/eshell/esh-io.el (eshell-redirection-operators-alist): New
constant.
(eshell-io-initialize): Prefer sharp quotes for functions.
(eshell-parse-redirection, eshell-strip-redirections): Add support for
more redirection forms.
(eshell-copy-output-handle, eshell-set-all-output-handles): New
functions.
* test/lisp/eshell/esh-io-tests.el
(esh-io-test/redirect-all/overwrite, esh-io-test/redirect-all/append)
(esh-io-test/redirect-all/insert, esh-io-test/redirect-copy)
(esh-io-test/redirect-copy-first, esh-io-test/redirect-pipe): New
tests.
* doc/misc/eshell.texi (Redirection): Document new redirection syntax.
(Pipelines): Document '|&' syntax.
(Bugs and ideas): Update item about redirection syntax.
* etc/NEWS: Announce this change.
Jim Porter [Mon, 29 Aug 2022 03:50:27 +0000 (20:50 -0700)]
Allow checking specific Eshell handles for interactive output
This changes the default behavior of the function to check only stdout
for interactivity, but for most cases this should be what we want.
* lisp/eshell/esh-io.el (eshell-interactive-output-p): Pass HANDLES
and handle INDEX.
* lisp/eshell/em-term.el (eshell-visual-command-p): Check for
interactivity of both stdout and stderr.
Jim Porter [Sat, 9 Jul 2022 17:34:31 +0000 (10:34 -0700)]
Simplify Eshell handle functions and add tests/documentation
* lisp/eshell/esh-arg.el (eshell-parse-argument-hook): Explain how to
use 'eshell-finish-arg'.
* lisp/eshell/esh-io.el (eshell-create-handles): Only call
'eshell-get-target' for stderr if necessary.
(eshell-protect-handles): Use 'dotimes'.
(eshell-set-output-handle): Pass HANDLES and fix an edge case with
setting a duplicate TARGET.
* test/lisp/eshell/eshell-tests-helpers.el (eshell-with-temp-buffer):
New macro.
* test/lisp/eshell/esh-cmd-tests.el (esh-cmd-test/quoted-lisp-form)
(esh-cmd-test/backquoted-lisp-form)
(esh-cmd-test/backquoted-lisp-form/splice): New tests.
* test/lisp/eshell/eshell-tests.el (eshell-test/redirect-buffer)
(eshell-test/redirect-buffer-escaped): Move to...
* test/lisp/eshell/esh-io-tests.el: ... here, and add other I/O tests.
* doc/misc/eshell.texi (Arguments): Add documentation for special
argument types.
(Input/Output): Expand documentation for redirection and pipelines.
Matt Armstrong [Sun, 4 Sep 2022 21:58:55 +0000 (23:58 +0200)]
Add basic test coverage for overlay modification hooks
* test/src/buffer-tests.el: (overlay-modification-hooks) new
ert-deftest.
(overlay-tests-start-recording-modification-hooks): New function.
(overlay-tests-get-recorded-modification-hooks): New function
(bug#57150).
Lars Ingebrigtsen [Sun, 4 Sep 2022 20:58:52 +0000 (22:58 +0200)]
Clarify that the region is in the Emacs manual
* doc/emacs/mark.texi (Mark): Try to clarify what's so special
about Emacs' regions (bug#50950).
Lars Ingebrigtsen [Sun, 4 Sep 2022 18:44:30 +0000 (20:44 +0200)]
Mark some filenotify tests unstable on EMBA
* test/lisp/filenotify-tests.el (file-notify-test03-events)
(file-notify-test09-watched-file-in-watched-dir): Mark as unstable
on EMBA, because they seem to fail regularly.
Eli Zaretskii [Sun, 4 Sep 2022 18:30:53 +0000 (21:30 +0300)]
; * etc/NEWS: Move WebP entry to a proper place.
Michael Albinus [Sun, 4 Sep 2022 17:25:21 +0000 (19:25 +0200)]
Fix comment in tramp.el
Juri Linkov [Sun, 4 Sep 2022 17:02:20 +0000 (20:02 +0300)]
Don't replace the first character with an arrow in outline-minor-mode
* lisp/outline.el (outline--make-button-overlay): Add the first character
to the displayed outline button (bug#56820).
Juri Linkov [Sun, 4 Sep 2022 16:55:59 +0000 (19:55 +0300)]
Use use-region-beginning/end in replacement commands (bug#45607)
* lisp/isearch.el (isearch-query-replace): Use use-region-beginning
and use-region-end.
* lisp/textmodes/paragraphs.el (repunctuate-sentences):
* lisp/replace.el (query-replace, query-replace-regexp)
(map-query-replace-regexp, replace-string, replace-regexp):
Add 'interactive-args' to 'declare' and use use-region-beginning,
use-region-end, use-region-noncontiguous-p.
* lisp/simple.el (use-region-noncontiguous-p): New function.
(region-noncontiguous-p): Return more meaningful value.
Lars Ingebrigtsen [Sun, 4 Sep 2022 14:29:06 +0000 (16:29 +0200)]
Add a basic widget type for buffer predicates
* lisp/paren.el (show-paren-predicate):
* lisp/outline.el (outline-minor-mode-use-buttons): Use it.
* lisp/wid-edit.el (buffer-predicate): New widget type.
Eli Zaretskii [Sun, 4 Sep 2022 13:30:03 +0000 (16:30 +0300)]
; * doc/lispref/sequences.texi (Sequence Functions): Fix punctuation.
Eli Zaretskii [Sun, 4 Sep 2022 13:27:55 +0000 (16:27 +0300)]
Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs
Eli Zaretskii [Sun, 4 Sep 2022 13:27:05 +0000 (16:27 +0300)]
; * etc/NEWS: Fix a recently-added entry.
Po Lu [Sun, 4 Sep 2022 13:03:31 +0000 (21:03 +0800)]
Fix earlier change to xterm.c
* src/xterm.c (x_detect_focus_change): Finally figure out what
the call to x_new_focus_frame does with the core focus, and do
the equivalent with the XInput 2 focus.
Michael Albinus [Sun, 4 Sep 2022 11:44:30 +0000 (13:44 +0200)]
Fix rx forms in Tramp
* lisp/net/tramp.el (tramp-restricted-shell-hosts-alist)
(tramp-local-host-regexp, tramp-echoed-echo-mark-regexp)
(tramp-login-prompt-regexp, tramp-terminal-prompt-regexp)
(tramp-antispoof-regexp)
(tramp-build-completion-file-name-regexp)
(tramp-debug-outline-regexp)
(tramp-use-absolute-autoload-file-names)
(tramp-lock-file-info-regexp, tramp-shell-quote-argument):
* lisp/net/tramp-adb.el (tramp-do-parse-file-attributes-with-ls)
* lisp/net/tramp-cache.el (tramp-flush-file-function):
* lisp/net/tramp-gvfs.el (tramp-gvfs-file-name):
* lisp/net/tramp-integration.el (tramp-rfn-eshadow-update-overlay-regexp)
(info-lookup-maybe-add-help):
* lisp/net/tramp-sh.el (tramp-default-user-alist, tramp-sunos-unames)
(tramp-scp-direct-remote-copying, tramp-get-remote-locale):
* lisp/net/tramp-smb.el (tramp-smb-prompt, tramp-smb-wrong-passwd-regexp)
(tramp-smb-errors, tramp-smb-get-localname)
(tramp-smb-read-file-entry): Simplify rx forms.
* lisp/net/tramp.el (tramp-handle-find-backup-file-name)
(tramp-handle-lock-file, tramp-handle-make-auto-save-file-name):
* lisp/net/tramp-adb.el (tramp-adb-handle-set-file-times)
(tramp-adb-maybe-open-connection):
* lisp/net/tramp-gvfs.el
(tramp-gvfs-file-attributes-with-gvfs-ls-regexp):
* lisp/net/tramp-sh.el (tramp-open-shell, tramp-find-shell): Do not use
`eval-when-compile'.
* lisp/net/tramp-cmds.el (tramp-rename-files, tramp-rename-these-files):
Use rx.
* lisp/net/tramp-gvfs.el (tramp-gvfs-password-tcrypt): New defonst.
(tramp-gvfs-handle-file-attributes): Use `number-to-string'.
* test/lisp/net/tramp-archive-tests.el
(tramp-archive-test17-insert-directory):
* test/lisp/net/tramp-tests.el (tramp-test17-insert-directory)
(tramp--test-share-p): Simplify rx forms.
Damien Cassou [Sun, 4 Sep 2022 11:21:59 +0000 (13:21 +0200)]
Add new function `seq-positions'
* doc/lispref/sequences.texi (Sequence Functions): Document it.
* lisp/emacs-lisp/seq.el (seq-positions): New function.
* lisp/emacs-lisp/shortdoc.el (sequence): Mention it.
* test/lisp/emacs-lisp/seq-tests.el (test-seq-positions): Test it
(bug#57548).
Augusto Stoffel [Sun, 4 Sep 2022 11:14:58 +0000 (13:14 +0200)]
Add Python import management commands
* lisp/progmodes/python.el (python-interpreter): New variable
(python-mode-map): Keybindings and menu entries for new commands
(python--list-imports, python-import-history, python--query-import)
(python--do-isort): New variables and helper functions.
(python-add-import, python-import-symbol-at-point)
(python-remove-import, python-sort-imports, python-fix-imports): New
interactive commands (bug#57574).
Augusto Stoffel [Sun, 4 Sep 2022 11:13:57 +0000 (13:13 +0200)]
Python shells dedicated to a project
* lisp/progmodes/python.el: Require 'seq' and (optionally) 'compat'
and 'project' libraries.
(python-shell-dedicated): New user option
(python-shell-get-process-name): Adapt to project-dedicated shells.
(run-python): Offer possibility to create a project-dedicated shell,
or use 'python-shell-dedicated' as the default behavior.
(python-shell-get-buffer): Adapt to project-dedicated shells
(bug#56997).
Damien Cassou [Sat, 3 Sep 2022 16:47:04 +0000 (18:47 +0200)]
Add new function `seq-remove-at-position'
* doc/lispref/sequences.texi (Sequence Functions): Document it.
* lisp/emacs-lisp/seq.el (seq-remove-at-position): New function.
* lisp/emacs-lisp/shortdoc.el (sequence): Mention it.
* test/lisp/emacs-lisp/seq-tests.el (test-seq-remove-at-position):
Test it.
Damien Cassou [Sun, 4 Sep 2022 11:00:22 +0000 (13:00 +0200)]
Improve documentation of several functions in seq.el
* doc/lispref/sequences.texi (Sequence Functions):
* lisp/emacs-lisp/seq.el (seq-contains):
(seq-contains-p):
(seq-set-equal-p):
(seq-position):
(seq-union):
(seq-intersection):
(seq-difference): Use more standard wording in the docstrings
(bug#57561).
Lars Ingebrigtsen [Sun, 4 Sep 2022 10:41:02 +0000 (12:41 +0200)]
Rename the Mice node in the Emacs manual
* doc/emacs/commands.texi (User Input, Keys): Rename "Mice" to
Mouse Input.
Lars Ingebrigtsen [Sun, 4 Sep 2022 09:37:32 +0000 (11:37 +0200)]
Fix some help-fns test failures
* lisp/help-fns.el (help-fns--key-bindings): Fix test failures
from recent change.
Eli Zaretskii [Sun, 4 Sep 2022 07:03:22 +0000 (10:03 +0300)]
; * lisp/disp-table.el (standard-display-by-replacement-char): Doc fix.
Eli Zaretskii [Sun, 4 Sep 2022 06:03:30 +0000 (09:03 +0300)]
New command to facilitate text-mode display of unsupported chars
* lisp/disp-table.el (standard-display-by-replacement-char): New
command.
* etc/NEWS: Announce it.
Eli Zaretskii [Sun, 4 Sep 2022 05:40:52 +0000 (08:40 +0300)]
Fix update of Dired display when it was called on a cons cell
* lisp/dired.el (dired-internal-do-deletions): Make sure that FN's
directory entry is updated on display. (Bug#57565)
Stefan Monnier [Sun, 4 Sep 2022 02:58:44 +0000 (22:58 -0400)]
* lisp/term/linux.el (gpm-mouse-enable): Remove left-over declaration
Stefan Monnier [Sun, 4 Sep 2022 02:38:28 +0000 (22:38 -0400)]
gv.el and cl-macs.el: Fix bug#57397
* lisp/emacs-lisp/gv.el (gv-get): Obey symbol macros.
* lisp/emacs-lisp/cl-macs.el (cl--letf): Remove workaround placed to
try and handle symbol macros.
* test/lisp/emacs-lisp/cl-macs-tests.el (cl-macs-test--symbol-macrolet):
Add new testcase.
Kyle Meyer [Sun, 4 Sep 2022 01:32:20 +0000 (21:32 -0400)]
Update to Org 9.5.5
Gregory Heytings [Sat, 3 Sep 2022 22:43:26 +0000 (22:43 +0000)]
Look up keybindings in correct buffer in describe-function.
* lisp/help-fns.el (help-fns--key-bindings): New parameter.
Use it when looking up keybindings.
(describe-function-1): Add the buffer in which the command
was invoked as argument to 'help-fns--key-bindings'.
Fixes bug#57568.
Stefan Monnier [Sat, 3 Sep 2022 15:03:01 +0000 (11:03 -0400)]
* lisp/emacs-lisp/comp.el (comp-run-async-workers): Fail more gracefully
Otherwise Emacs may fail to start if it can't find a writable
`~/.emacs.d/eln-cache` directory.
Fixes bug#57562. See also Debian's bug #
1017739.
Jeff Walsh [Thu, 9 Jun 2022 00:02:01 +0000 (10:02 +1000)]
Update error message to reflect variable rename
* src/comp.c (Fcomp_el_to_eln_filename): Update error message. (Bug#55861)
[ According to the Git metadata, this commit
8436e0bee9cf7a was already
merged from `emacs-28`, yet the code says it was not. :-( ]
Eli Zaretskii [Sat, 3 Sep 2022 16:12:49 +0000 (19:12 +0300)]
; Fix last change.
Eli Zaretskii [Sat, 3 Sep 2022 16:11:51 +0000 (19:11 +0300)]
Fix indexing of mouse-wheel events
* doc/emacs/frames.texi (Mouse Commands): Add index entries for
wheel events.
Eli Zaretskii [Sat, 3 Sep 2022 16:02:18 +0000 (19:02 +0300)]
Merge branch 'master' of git.savannah.gnu.org:/srv/git/emacs
Eli Zaretskii [Sat, 3 Sep 2022 16:01:21 +0000 (19:01 +0300)]
Revert "* doc/emacs/commands.texi (Mice): Improve indexing."
This reverts commit
1cea0ae4133bb22fd70d483df105e5a4653bc56c.
The index entries it added don't belong to the place where they were
added.
Mattias Engdegård [Sat, 3 Sep 2022 14:35:16 +0000 (16:35 +0200)]
lisp/emacs-lisp/seq.el: remove unnecessary compatibility code
* lisp/emacs-lisp/seq.el (seq-take, seq--activate-font-lock-keywords):
Simplify unnecessarily guarded code, as this file will only ever be
used with the same version of Emacs.
Stefan Kangas [Sat, 3 Sep 2022 15:47:14 +0000 (17:47 +0200)]
* doc/emacs/commands.texi (Mice): Improve indexing.
Stefan Monnier [Sat, 3 Sep 2022 15:28:44 +0000 (11:28 -0400)]
Merge branch 'master' of git+ssh://git.sv.gnu.org/srv/git/emacs
Eli Zaretskii [Sat, 3 Sep 2022 15:07:53 +0000 (18:07 +0300)]
; * doc/emacs/commands.texi: Fix a typo.
Stefan Monnier [Sat, 3 Sep 2022 14:52:57 +0000 (10:52 -0400)]
* lisp/emacs-lisp/macroexp.el (macroexp--compiler-macro): Soften message
Clarify that the error is "harmless".
Stefan Monnier [Sat, 3 Sep 2022 14:46:46 +0000 (10:46 -0400)]
* lisp/emacs-lisp/cl-macs.el: Use `define-symbol-prop` (bug#50869)
(cl-define-compiler-macro, cl-defstruct, cl-deftype): Prefer
`define-symbol-prop` over `put` so `unload-feature` can undo
those definitions.
Stefan Monnier [Sat, 3 Sep 2022 14:40:47 +0000 (10:40 -0400)]
* lisp/loadhist.el (loadhist-unload-element): Remove auxiliary function info
See bug#50869.
Eli Zaretskii [Sat, 3 Sep 2022 14:38:53 +0000 (17:38 +0300)]
; Fix recent additions to Emacs manual
* doc/emacs/commands.texi (User Input, Mice): Fix punctuation,
indexing, and wording.
Stefan Monnier [Sat, 3 Sep 2022 14:33:02 +0000 (10:33 -0400)]
* lisp/help-fns.el (find-lisp-object-file-name): Revert last change
Po Lu [Sat, 3 Sep 2022 13:50:04 +0000 (21:50 +0800)]
Improve documentation of scroll wheel event types in new Mice node
* doc/emacs/commands.texi (Mice): Improve documentation of
scroll wheel event types; fix doc for Emacs 29 and describe
horizontal wheel movement.
Po Lu [Sat, 3 Sep 2022 13:45:46 +0000 (21:45 +0800)]
; * character.c (Fmax_char): Fix build with type checking.
Po Lu [Sat, 3 Sep 2022 13:39:30 +0000 (21:39 +0800)]
Work around another X server bug in crossing event dispatch
* src/xterm.c (xi_focus_handle_for_device): Clear implicit focus
along with FocusOut. (bug#57468)
(x_mouse_leave): Avoid invalid reads of
dpyinfo->x_focus_event_frame on input extension builds.
Lars Ingebrigtsen [Sat, 3 Sep 2022 13:12:16 +0000 (15:12 +0200)]
Add a Mice node in the Emacs manual
* doc/emacs/commands.texi (User Input): Don't claim to not
document mouse buttons.
(Mice): New node (bug#50948).
Philip Kaludercic [Sat, 3 Sep 2022 12:15:29 +0000 (14:15 +0200)]
* subr.el (buffer-match-p): Use 'pcase' (bug#57502)
Lars Ingebrigtsen [Sat, 3 Sep 2022 12:46:21 +0000 (14:46 +0200)]
Mention M-x list-packages in the Help node in the Emacs manual
* doc/emacs/help.texi (Help): Mention listing packages
(bug#50936).
Lars Ingebrigtsen [Sat, 3 Sep 2022 12:23:26 +0000 (14:23 +0200)]
Inhibit nativecomp of loaddefs files
* lisp/emacs-lisp/generate-lisp-file.el
(generate-lisp-file-trailer): Allow inhibiting nativecomp.
* lisp/emacs-lisp/loaddefs-gen.el (loaddefs-generate--rubric):
Inhibit native-comp, because it's not very useful for loaddefs files.
Po Lu [Sat, 3 Sep 2022 11:55:31 +0000 (19:55 +0800)]
Work around potential X server bug
* src/xterm.c (handle_one_xevent): Ignore core crossing events
on input extension builds. The X server is not actually
supposed to deliver them to us, and it messes up MPX focus
tracking. (bug#57468)
Eli Zaretskii [Sat, 3 Sep 2022 10:45:53 +0000 (13:45 +0300)]
Teach 'max-char' about the Unicode code range
* src/character.c (Fmax_char): Accept an optional argument
UNICODE, and, if non-nil, return the maximum codepoint defined by
Unicode.
* lisp/emacs-lisp/comp.el (comp-known-type-specifiers): Update the
signature of 'max-char'.
* etc/NEWS:
* doc/lispref/nonascii.texi (Character Codes): Update the
documentation of 'max-char'.
Stefan Kangas [Sat, 3 Sep 2022 09:04:07 +0000 (11:04 +0200)]
Increase image-dired-show-all-from-dir-max-files to 1000
* lisp/image/image-dired.el
(image-dired-show-all-from-dir-max-files): Increase to 1000.
Lars Ingebrigtsen [Sat, 3 Sep 2022 09:07:12 +0000 (11:07 +0200)]
Fix image-dired-util.el compile warning
* lisp/image/image-dired-util.el (require): Require for cl-case.
Stefan Kangas [Wed, 31 Aug 2022 03:59:35 +0000 (05:59 +0200)]
Add new defgroup image-dired-dired
* lisp/image/image-dired-dired.el
(image-dired-dired-append-when-browsing): Rename from
'image-dired-append-when-browsing'. Update all uses.
(image-dired-dired): New defgroup.
(image-dired-dired-append-when-browsing)
(image-dired-dired-disp-props): Use above new defgroup.
Stefan Kangas [Wed, 31 Aug 2022 03:52:11 +0000 (05:52 +0200)]
image-dired: Minor cleanups
* lisp/image/image-dired-dired.el
(image-dired-dired-after-readin-hook, image-dired-minor-mode):
Minor doc fixes.
(image-dired-dired-display-image): Don't accept ineffectual prefix
argument.
* lisp/image/image-dired-util.el
(image-dired-file-name-at-point): Use when-let.
(image-dired-display-thumb-properties): Redefine as obsolete function
alias for 'image-dired-update-header-line'.
* lisp/image/image-dired-util.el
(image-dired-window-width-pixels): Make obsolete in favor of
window-body-width.
* lisp/image/image-dired.el (image-dired-line-up-dynamic)
(image-dired-display-window-width): Don't use above obsolete function.
Stefan Kangas [Tue, 30 Aug 2022 17:05:29 +0000 (19:05 +0200)]
image-dired: Prefer defvar-keymap
* lisp/image/image-dired-dired.el (image-dired-minor-mode-map):
* lisp/image/image-dired.el
(image-dired-thumbnail-mode-line-up-map)
(image-dired-thumbnail-mode-tag-map)
(image-dired-thumbnail-mode-map)
(image-dired-display-image-mode-map): Prefer defvar-keymap.
Stefan Kangas [Mon, 29 Aug 2022 17:52:48 +0000 (19:52 +0200)]
Add new defgroup image-dired-external
* lisp/image/image-dired-external.el (image-dired-external): New
defgroup.
(image-dired-cmd-create-thumbnail-program)
(image-dired-cmd-create-thumbnail-options)
(image-dired-cmd-pngnq-program, image-dired-cmd-pngnq-options)
(image-dired-cmd-pngcrush-program)
(image-dired-cmd-pngcrush-options)
(image-dired-cmd-optipng-program)
(image-dired-cmd-optipng-options)
(image-dired-cmd-create-standard-thumbnail-options)
(image-dired-cmd-rotate-original-program)
(image-dired-cmd-rotate-original-options)
(image-dired-temp-rotate-image-file)
(image-dired-rotate-original-ask-before-overwrite)
(image-dired-cmd-write-exif-data-program)
(image-dired-cmd-write-exif-data-options): Use above new defgroup.
Stefan Kangas [Tue, 23 Aug 2022 12:59:47 +0000 (14:59 +0200)]
; image-dired: Indentation fixes
* lisp/image/image-dired-dired.el:
* lisp/image/image-dired-external.el:
* lisp/image/image-dired-tags.el:
* lisp/image/image-dired-util.el:
* lisp/image/image-dired.el: Fix indentation.
Stefan Kangas [Tue, 23 Aug 2022 12:46:03 +0000 (14:46 +0200)]
image-dired: Make HTML gallery generation obsolete
* lisp/image/image-dired.el (image-dired-gallery): Delete
defgroup again.
(image-dired-gallery-dir, image-dired-gallery-image-root-url)
(image-dired-gallery-thumb-image-root-url)
(image-dired-gallery-hidden-tags, image-dired-tag-file-list)
(image-dired-file-tag-list, image-dired--add-to-tag-file-lists)
(image-dired--add-to-file-comment-list)
(image-dired--create-gallery-lists, image-dired--hidden-p)
(image-dired-gallery-generate): Make obsolete.
Stefan Kangas [Sat, 20 Aug 2022 20:44:14 +0000 (22:44 +0200)]
image-dired: Do more interactive mode tagging
* lisp/image/image-dired-dired.el
(image-dired-dired-toggle-marked-thumbs)
(image-dired-next-line-and-display)
(image-dired-previous-line-and-display)
(image-dired-toggle-append-browsing)
(image-dired-mark-and-display-next)
(image-dired-toggle-dired-display-properties)
(image-dired-dired-next-line, image-dired-dired-previous-line)
(image-dired-create-thumbs, image-dired-display-thumbs-append)
(image-dired-display-thumb, image-dired-dired-display-external)
(image-dired-dired-display-image)
(image-dired-copy-with-exif-file-name, image-dired-mark-tagged-files)
(image-dired-dired-display-properties):
* lisp/image/image-dired-external.el
(image-dired-thumbnail-set-image-description):
* lisp/image/image-dired-tags.el (image-dired-tag-files)
(image-dired-tag-thumbnail, image-dired-delete-tag)
(image-dired-tag-thumbnail-remove)
(image-dired-dired-comment-files)
(image-dired-dired-edit-comment-and-tags):
* lisp/image/image-dired.el (image-dired-display-thumbs)
(image-dired-track-original-file)
(image-dired-toggle-movement-tracking)
(image-dired-forward-image, image-dired-backward-image)
(image-dired-line-up, image-dired-line-up-dynamic)
(image-dired-line-up-interactive)
(image-dired-thumbnail-display-external)
(image-dired-display-thumbnail-original-image)
(image-dired-rotate-original-left)
(image-dired-rotate-original-right)
(image-dired-comment-thumbnail, image-dired-delete-marked)
(image-dired-rotate-thumbnail-left)
(image-dired-rotate-thumbnail-right): Do interactive mode tagging.
* lisp/image/image-dired.el (image-dired-delete-marked): Signal error
if not in image-dired-thumbnail-mode.
Stefan Kangas [Fri, 19 Aug 2022 19:14:13 +0000 (21:14 +0200)]
Split image-dired.el into several files (part 2/2)
Use a git trick to split a file while preserving line history (for
"git blame", "git log --follow", etc.):
1) Make exact copies of the original file, in the same commit as
moving it.
2) Next, trim down the extra copies to contain only the relevant
parts. [this commit]
* lisp/image-dired.el:
* lisp/image/image-dired-dired.el:
* lisp/image/image-dired-external.el:
* lisp/image/image-dired-tags.el:
* lisp/image/image-dired-util.el:
* lisp/image/image-dired.el: Trim files down to keep only one copy of
each definition.
Stefan Kangas [Fri, 19 Aug 2022 18:41:11 +0000 (20:41 +0200)]
Split image-dired.el into several files (part 1/2)
Use a git trick to split a file while preserving line history (for
"git blame", "git log --follow", etc.):
1) Make exact copies of the original file, in the same commit as
moving it. [this commit]
2) Next, trim down the extra copies to contain only the relevant
parts.
* lisp/image-dired.el: Move from here...
* lisp/image/image-dired-dired.el:
* lisp/image/image-dired-external.el:
* lisp/image/image-dired-tags.el:
* lisp/image/image-dired-util.el:
* lisp/image/image-dired.el: ...to here.
* test/lisp/image-dired-tests.el: Move from here...
* test/lisp/image/image-dired-tests.el: ...to here.
Stefan Kangas [Sat, 3 Sep 2022 05:23:08 +0000 (07:23 +0200)]
Make "rlogin" method obsolete in url*.el
* lisp/url/url-about.el (url-probe-protocols): Remove "rlogin".
* lisp/url/url-gw.el (url-gateway-rlogin-host)
(url-gateway-rlogin-user-name, url-gateway-rlogin-parameters)
(url-open-rlogin): Make obsolete. (Bug#56891)
(url-open-stream):
* lisp/url/url-misc.el (url-do-terminal-emulator): Warn when using
"rlogin".
(url-rlogin): Make obsolete.
* lisp/url/url-vars.el (url-gateway-method): Remove "rlogin"
choice.
* lisp/url/url-gw.el (url-gw-rlogin-obsolete-warned-once)
* lisp/url/url-misc.el (url-misc-rlogin-obsolete-warned-once): New
variables, immediately marked obsolete.
* doc/misc/url.texi (telnet/tn3270): Rename section from
"rlogin/telnet/tn3270".
(Gateways in general, Customization): Don't mention "rlogin"
method.
Stefan Kangas [Sat, 3 Sep 2022 04:30:27 +0000 (06:30 +0200)]
; Merge from origin/emacs-28
The following commit was skipped:
f9f92772dc ; Normalize email
Stefan Kangas [Sat, 3 Sep 2022 04:30:26 +0000 (06:30 +0200)]
Merge from origin/emacs-28
d89e65c638 Update acknowledgments
Stefan Kangas [Fri, 2 Sep 2022 23:39:55 +0000 (01:39 +0200)]
; Normalize email
Don't merge to master.
Stefan Kangas [Fri, 2 Sep 2022 23:37:09 +0000 (01:37 +0200)]
Update acknowledgments
* doc/emacs/ack.texi (Acknowledgments): Update.
* doc/emacs/emacs.texi (Acknowledgments): Add several names from
Author: headers.
Stefan Kangas [Thu, 1 Sep 2022 09:04:21 +0000 (11:04 +0200)]
Make some versions in docs match package version
* doc/emacs/misc.texi (Interactive Shell): Bump Emacs version.
* doc/misc/ediff.texi:
* doc/misc/flymake.texi:
* doc/misc/viper.texi: Fix version to match package.
* lisp/emulation/viper.el: Make version match variable.
Stefan Kangas [Fri, 2 Sep 2022 21:57:18 +0000 (23:57 +0200)]
; Merge from origin/emacs-28
The following commit was skipped:
80c5327195 Make some versions in docs match package version
Stefan Kangas [Fri, 2 Sep 2022 21:57:18 +0000 (23:57 +0200)]
Merge from origin/emacs-28
917da2641e Minor doc fix; improve sorting of VC backends
89695bce3e Clarify the doc string of 'set-face-attribute'
Gregory Heytings [Fri, 2 Sep 2022 20:27:59 +0000 (20:27 +0000)]
Display a warning for some uses of nil in face attributes.
* src/xfaces.c (HANDLE_INVALID_NIL_VALUE): New macro, which displays
a warning for invalid uses of nil as a face attribute value.
(Finternal_set_lisp_face_attribute): Use the macro for the attributes
:foreground, :distant-foreground and :background.
Stefan Monnier [Fri, 2 Sep 2022 13:54:13 +0000 (09:54 -0400)]
* lisp/help-fns.el: Minor fixes
(describe-mode--minor-modes): Don't burp on minor modes that lack a docstring.
(describe-mode--minor-modes): Simplify eta-redex.
(find-lisp-object-file-name): Use `autoload-file`.
(help-fns--describe-function-or-command-prompt): Allow the user to
insist on choosing a function even if it appears not to exist.
Robert Pluim [Fri, 2 Sep 2022 13:09:48 +0000 (15:09 +0200)]
Use `format-prompt' in `describe-char-fold-equivalences'
* lisp/char-fold.el (describe-char-fold-equivalences): Use `format-prompt'.
Lars Ingebrigtsen [Fri, 2 Sep 2022 12:58:30 +0000 (14:58 +0200)]
Fix define-minor-mode :keymap obsoletion warning
* lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Fix some
warning.
Stefan Kangas [Fri, 2 Sep 2022 12:51:27 +0000 (14:51 +0200)]
Make minibuffer-eldef-shorten-default obsolete
* lisp/minibuf-eldef.el (minibuffer-eldef-shorten-default): Make
variable obsolete in favor of 'minibuffer-default-prompt-format'.
* doc/emacs/mini.texi (Basic Minibuffer): Delete above obsolete
variable (bug#50935).
Lars Ingebrigtsen [Fri, 2 Sep 2022 12:23:15 +0000 (14:23 +0200)]
Default show-paren-mode to off in special-mode buffers
* doc/emacs/programs.texi (Matching): Mention the new user option.
* doc/misc/efaq.texi (Matching parentheses): Adjust text to the
current state of affairs.
* lisp/paren.el (show-paren-function): New user option (bug#50894).
(show-paren-mode): Mention it.
(show-paren-function): Use it.
Lars Ingebrigtsen [Fri, 2 Sep 2022 11:34:55 +0000 (13:34 +0200)]
Clean up ispell "look"-related variables
* lisp/textmodes/ispell.el (ispell-look-p): Make obsolete.
(ispell-lookup-words): Look up the look command at run time
instead (bug#50852).
(ispell-have-new-look): Make obsolete.
(ispell-look-options): Adjust. Apparently the version of "look"
that had a "-r" (regexp interface) never took off -- it's not
present in GNU/Linux or Macos, at least, as far as we can tell.
Lars Ingebrigtsen [Fri, 2 Sep 2022 10:09:18 +0000 (12:09 +0200)]
Fix quotes in mailcap-add-mailcap-entry doc string
* lisp/net/mailcap.el (mailcap-add-mailcap-entry): Fix usage of
quotes.
Felix Dietrich [Sun, 6 Mar 2022 19:41:41 +0000 (20:41 +0100)]
Restructure ‘mailcap-add-mailcap-entry’
* lisp/net/mailcap.el (mailcap-add-mailcap-entry):
Restructure mailcap-add-mailcap-entry to improve readability.
Felix Dietrich [Mon, 14 Mar 2022 13:01:26 +0000 (14:01 +0100)]
Add tests for ‘mailcap-add-mailcap-entry’
* test/lisp/net/mailcap-tests.el:
Add tests for ‘mailcap-add-mailcap-entry’
Robert Pluim [Fri, 2 Sep 2022 09:15:43 +0000 (11:15 +0200)]
Use frame-monitor-attributes in gamegrid
* lisp/play/gamegrid.el (gamegrid-calculate-glyph-size): Use
`frame-monitor-attributes' to get the frame attributes directly
instead of iterating over `display-monitor-attributes-list'.
Po Lu [Fri, 2 Sep 2022 09:19:29 +0000 (17:19 +0800)]
Prevent crashes when embedding Emacs in a nonexistent parent
* src/xfns.c (x_window, Fx_create_frame): Handle X errors while
trying to reparent the frame onto an explicitly specified
parent.
* src/xterm.c (handle_one_xevent): Handle unparenting embedded
windows correctly. This only works if the embedder is aware of
the fixes extension and has put the window into the right save
set.
(x_embed_frame): New function.
* src/xterm.h (FRAME_X_EMBEDDED_P): Fix coding style.
Robert Pluim [Thu, 1 Sep 2022 16:10:58 +0000 (18:10 +0200)]
Make single char entry easier for `describe-char-fold-equivalences'
* lisp/char-fold.el (describe-char-fold-equivalences): Improve
docstring. Pass t for 'allow-single' arg in call to
`read-char-by-name' so that single characters can be entered directly.
Robert Pluim [Thu, 1 Sep 2022 15:59:10 +0000 (17:59 +0200)]
Allow easy entry of single chars in `read-char-by-name'
* lisp/international/mule-cmds.el (read-char-by-name): Add optional
'allow-single' argument, meaning to accept single chars as themselves.
Fabrice Bauzac-Stehly [Fri, 2 Sep 2022 04:23:46 +0000 (00:23 -0400)]
ldap-host-parameters-alist: Add auth-source option
* lisp/net/ldap.el (ldap-host-parameters-alist): Add auth-source
to checklist.
Jim Porter [Thu, 1 Sep 2022 05:52:34 +0000 (22:52 -0700)]
Under no-X builds, allow any value for 'fringe-bitmap' options
* lisp/cus-edit (fringe-bitmap): Always match under no-X.
Po Lu [Thu, 1 Sep 2022 13:22:17 +0000 (21:22 +0800)]
Fix bug#57476 for Xt builds
* src/xterm.c (handle_one_xevent): Add similar event mode check
to code under USE_X_TOOLKIT conditional. (bug#57476)
Lars Ingebrigtsen [Thu, 1 Sep 2022 11:42:19 +0000 (13:42 +0200)]
Make easy-mmode-define-keymap obsolete
* lisp/emacs-lisp/easy-mmode.el (easy-mmode-define-keymap): Make
obsolete.
(define-minor-mode): Add comment.
Lars Ingebrigtsen [Thu, 1 Sep 2022 11:39:14 +0000 (13:39 +0200)]
Make easy-mmode-defmap obsolete and adjust only caller
* lisp/emacs-lisp/easy-mmode.el (easy-mmode-defmap): Make obsolete.
* lisp/progmodes/gud.el (gud-menu-map): Use easy-menu-define.
Lars Ingebrigtsen [Thu, 1 Sep 2022 10:24:17 +0000 (12:24 +0200)]
Fix outline-minor-mode-map
* lisp/outline.el (outline-minor-mode): Avoid using
easy-mmode-define-keymap, since it doesn't handle :inherit
correctly (bug#57512).
Daanturo [Thu, 1 Sep 2022 10:08:05 +0000 (12:08 +0200)]
Make file-parent-directory more efficient
* lisp/files.el (file-parent-directory): Use equal instead of
file-equal-p to compare the found parent and the child
(bug#56355). This is much faster.